﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using NUnit.Framework;
using vudu.Logica.Clases;
using vudu.EnlaceDatos.SqlServer;
using System.Data.SqlClient;

namespace vudu.Pruebas
{
    [TestFixture]

    public class PruebaEnlaceDeDatosProfesor
    {
        private SqlServerProfesor _conector;  
        private Profesor profesor;
        private List<Profesor> listaProfesor;
        
        public PruebaEnlaceDeDatosProfesor()
        {
            //Inicializar
        }

        [SetUp]
        public void Init()
        {
            profesor = new Profesor();
            listaProfesor = new List<Profesor>();
        }

        [Test]

        public void PruebaConsultarTodosLosProfesores()
        {
            List<Profesor> miLista = new List<Profesor>();
            Profesor miProfesor = new Profesor();

            Assert.True(miLista.Count > 0);
        }

        [Test]

        public void PruebaConsultarTodosLosProfesoresDeEscuela()
        {
            string miEscuela="1";
            List<Profesor> listaProfe = new List<Profesor>();            
            Profesor miProfe = new Profesor();
            List<Profesor> miLista = _conector.ConsultarTodosLosProfesoresDeEscuela(miEscuela);
            
            Assert.True(miLista.Count > 0);
        }

        [Test]
        public void PruebaConsultarListaProfesores()
        {
            List<Profesor> miLista = new List<Profesor>();
            Profesor miProfe = new Profesor();
            miLista = miProfe.ConsultarListaProfesor();
            Assert.True(miLista.Count > 0);

        }

        [Test]

        public void PruebaAgregarProfesor()
        {
            bool seInserta = true,seElimina=true;
            string values = "";
            SqlServerProfesor miProfe = new SqlServerProfesor();
            values = "(666999,'pedro','perez',666999,'01/01/1989','m','0212','completo','activo',5000,0,'miEmail@mail.com')";
            seInserta = miProfe.agregarProfesor(values);
            seElimina = miProfe.eliminarProfesor("666999");
            Assert.True(seInserta);                        
        }

        [Test]

        public void PruebaModificarProfesor()
        {
            bool seInserta = false, seModifica=false;
            string values = "";            
            SqlServerProfesor miProfe = new SqlServerProfesor();
            Profesor miProfesor = new Profesor();
            values = "(123,'pedro','perez',123,'01/01/1989','m','0212','completo','activo',5000,0,'miMail@mail.com')";
            miProfesor.Cedula = 123;
            miProfesor.Nombre = "pedra";
            miProfesor.Apellido = "pereza";
            miProfesor.Crn = 123;            
            miProfesor.Sexo = "m";
            miProfesor.Telefono = "0212";
            miProfesor.TiempoLaboral = "completo";
            miProfesor.Estatus = "activo";
            miProfesor.EspacioMaxCarga = 5000;
            miProfesor.EspacioUtilizado = 0;
            miProfesor.Email = "miMail@mail.com";
            seInserta = miProfe.AgregarProfesor(values);
            seModifica = miProfe.ModificarProfesor(miProfesor, "01/01/2011");
            Assert.IsFalse(seModifica);
        }

        [Test]

        public void PruebaInactivarProfesor()
        {
            bool seInserta = false, seInactiva = false;
            string values = "";
            SqlServerProfesor miProfe = new SqlServerProfesor();
            Profesor miProfesor = new Profesor();
            values = "(123,'pedro','perez',123,'01/01/1989','m','0212','completo','activo',5000,0,'miMail@mail.com')";
            miProfesor.Cedula = 123;
            miProfesor.Nombre = "pedra";
            miProfesor.Apellido = "pereza";
            miProfesor.Crn = 123;
            miProfesor.Sexo = "m";
            miProfesor.Telefono = "0212";
            miProfesor.TiempoLaboral = "completo";
            miProfesor.Estatus = "activo";
            miProfesor.EspacioMaxCarga = 5000;
            miProfesor.EspacioUtilizado = 0;
            miProfesor.Email = "miMail@mail.com";

            seInserta = miProfe.AgregarProfesor(values);
            seInactiva = miProfe.inactivarProfesor(miProfesor);

            Assert.IsFalse(seInactiva);
        }
    }
}